Modularisierung pragmatisch - ein Deep Dive in Spring Modulith
Abstract
Große Anwendungen sollen oftmals modular entwickelt werden, um Ordnung und Struktur in den Code zu bekommen und Dinge wie Wartbarkeit und Testbarkeit zu garantieren. Microservices stellen dafür einen sehr konsequenten Ansatz dar, können aber auch eine hohe Komplexität mit sich bringen. “Monolithen” hingegen sind vergleichsweise bequem in der Entwicklung, stehen aber im Verdacht, schnell zu einem unübersichtlichen “Big Ball of Mud” zu werden. Diesem Problem versucht “Spring Modulith” entgegenzutreten. Damit werden Spring Boot-Anwendungen in einer gemeinsamen Codebasis entwickelt (”monolithisch”), innerhalb dieser werden aber Module definiert ("modulitisch"), deren korrekte Verwendung anhand von Architekturregeln kontinuierlich überprüft und sichergestellt wird. Außerdem erweitert Spring Modulith das Spring-eigene Eventsystem, um auch zur Laufzeit für eine Entkopplung der Module zu sorgen.
In diesem Workshop möchte ich euch mit viel Live-Coding und praxisnahen Beispielen eine Einführung in Spring Modulith geben und mit euch diskutieren, worin die Stärken und Schwächen dieses Ansatzes liegen. Dazu werden wir gemeinsam mit Hilfe von Spring Modulith eine klassischen Spring Boot modularisieren, so dass ihr auch einen Eindruck bekommt, wie eine Migration bestehender Anwendungen aussehen kann.
Der Workshop richtet sich an Entwickler:innen und Architekt:innen, Spring Boot Vorkenntnisse sind hilfreich, aber nicht notwendig.
Technische Voraussetzungen:
- Laptop mit Java SDK (mind. Version 21), Maven, Docker, Git und Java IDE
- Das Laptop muss in der Lage sein, Maven-Packages und Docker Images aus dem Internet zu installieren und ein Git Repository von GitHub zu klonen (Proxies, Firewall, VPN, Virenscanner etc. checken!) Details erhaltet ihr noch einmal kurz vor dem Start vom Referenten.

Nils Hartmann
FreelancerNils Hartmann ist freiberuflicher Softwareentwickler und -architekt, Coach und Trainer. Seine Schwerpunkte sind die Entwicklung von Backends mit Java und Spring sowie Frontends mit React. Er gibt Schulungen und Workshops zu diesen Themen und hat ein Buch über React geschrieben. Kontakt: https://nilshartmann.net.